package com.woniuxy.mapper;

import com.woniuxy.entity.Order;
import com.woniuxy.entity.OrderItem;
import com.woniuxy.entity.UserCart;
import org.yaml.snakeyaml.events.Event;

import java.util.List;

/**
 * @BelongsProject: pigTrotterStore
 * @BelongsPackage: com.woniuxy.mapper
 * @Author: Quan
 * @Date: 2025/3/17 20:17
 */
public interface OrderMapper {
	/**
	 * @Description: 通过idList进行批量查询
	 * @Param: [chatIds]
	 * @return: java.util.List<com.woniuxy.entity.UserCart>
	 * @Author: Quan
	 * @Date: 2025/3/17
	 */
	List<UserCart> queryChartByIds(List<Integer> chatIds);

	/**
	 * @Description: 将order添加到order表
	 * @Param: [order]
	 * @return: void
	 * @Author: Quan
	 * @Date: 2025/3/17
	 */
	void addOrder(Order order);

	/**
	 * @Description: 批量添加订单详情到OrderItem中
	 * @Param: [orderItems]
	 * @return: void
	 * @Author: Quan
	 * @Date: 2025/3/17
	 */
	void batchAddOrderItem(List<OrderItem> orderItems);

	/**
	 * @Description: 批量更新food对应id的库存信息
	 * @Param: [userCarts]
	 * @return: void
	 * @Author: Quan
	 * @Date: 2025/3/17
	 */
	void batchUpdateFood(List<UserCart> userCarts);

	/**
	 * @Description: 根据id批量更新购物车状态信息
	 * @Param: []
	 * @return: void
	 * @Author: Quan
	 * @Date: 2025/3/17
	 */
	void batchUpdateCart(List<Integer> ids);

	/**
	 * @Description: 对应订单的状态
	 * @Param: [status]
	 * @return: void
	 * @Author: Quan
	 * @Date: 2025/3/21
	 */
	void updateOrderStatus(Order order);

	/**
	 * @Description: 通过id查询订单状态
	 * @Param: [orderNum]
	 * @return: com.woniuxy.entity.Order
	 * @Author: Quan
	 * @Date: 2025/3/21
	 */
	Order queryOrderByOrderNum(String orderNum);
}
